VT-d: Enable queued invalidation on all vt-d engines before enabling
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 3 Apr 2008 10:24:20 +0000 (11:24 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 3 Apr 2008 10:24:20 +0000 (11:24 +0100)
interrupt remapping.

Signed-off-by: Allen Kay <allen.m.kay@intel.com>
xen/drivers/passthrough/vtd/iommu.c

index 968e25d7f5f345cf7e5e397ae751dd3097ea1586..41fc90d6ec47451651008e11df41f512a5fcc60b 100644 (file)
@@ -1897,7 +1897,11 @@ static int init_vtd2_hw(void)
         if ( qinval_setup(iommu) != 0 )
             dprintk(XENLOG_ERR VTDPREFIX,
                     "Queued Invalidation hardware not found\n");
+    }
 
+    for_each_drhd_unit ( drhd )
+    {
+        iommu = drhd->iommu;
         if ( intremap_setup(iommu) != 0 )
             dprintk(XENLOG_ERR VTDPREFIX,
                     "Interrupt Remapping hardware not found\n");